package upc.condominio.util;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;

import upc.condominio.modelo.Periodo;

public class Utils {

	public Collection<Periodo> obtenerPeriodo(){
		Collection<Periodo> lista= new ArrayList<Periodo>();
		Periodo p = new Periodo();
		String mes="0"+(Calendar.getInstance().get(Calendar.MONTH)+1);
		p.setCodPeriodo(mes+"-"+Calendar.getInstance().get(Calendar.YEAR));
		p.setDescPeriodo(getNombreMes(Calendar.getInstance().get(Calendar.MONTH)+1) + "-"+Calendar.getInstance().get(Calendar.YEAR));
		//p.setFechaVenc(fechaVenc);
		Date d = new Date();
		if (getUltimoDiaDelMes().getDate()>30){
			d.setDate(30);
		}else{
			d.setDate(getUltimoDiaDelMes().getDate());
		}
		p.setFechaVenc(d);
		lista.add(p);
		return lista;
		
	}
	
	private String getNombreMes(int mes){
		if (mes==1){
			return "Enero";
		}else if (mes==2){
			return "Febrero";
		}else if (mes==3){
			return "Marzo";
		}else if (mes==4){
			return "Abril";
		}else if (mes==5){
			return "Mayo";
		}else if (mes==6){
			return "Junio";
		}else if (mes==7){
			return "Junio";
		}else if (mes==8){
			return "Agosto";
		}else if (mes==9){
			return "Septiembre";
		}else if (mes==10){
			return "Octubre";
		}else if (mes==11){
			return "Noviembre";
		}else {
			return "Diciembre";
		}
	}
	
	private Date getUltimoDiaDelMes() {
		Calendar cal = Calendar.getInstance();
		cal.set(cal.get(Calendar.YEAR),
		cal.get(Calendar.MONTH),
		cal.getActualMaximum(Calendar.DAY_OF_MONTH),
		cal.getMaximum(Calendar.HOUR_OF_DAY),
		cal.getMaximum(Calendar.MINUTE),
		cal.getMaximum(Calendar.SECOND));

       return cal.getTime();

   }
}
